package com.yupi.yuoj.model.dto.content;

import com.yupi.yuoj.common.PageRequest;
import java.io.Serializable;
import java.util.List;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 内容查询请求
 *
 * @author jingjin
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ContentQueryRequest extends PageRequest implements Serializable {

    /**
     * id
     */
    private Long id;

    /**
     * 搜索词
     */
    private String searchText;

    /**
     * 标题
     */
    private String title;

    /**
     * 内容类型（article-文章, video-视频, course-课程, exercise-练习）
     */
    private String type;

    /**
     * 分类（cognition-认知, fitness-健身, learning-学习）
     */
    private String category;

    /**
     * 标签列表
     */
    private List<String> tags;

    /**
     * 至少有一个标签
     */
    private List<String> orTags;

    /**
     * 难度等级（1-5）
     */
    private Integer difficulty;

    /**
     * 状态（0-草稿, 1-已发布, 2-已下架）
     */
    private Integer status;

    /**
     * 创建用户 id
     */
    private Long userId;

    /**
     * 收藏用户 id
     */
    private Long collectionUserId;

    /**
     * 是否精选（0-否, 1-是）
     */
    private Integer isFeatured;

    private static final long serialVersionUID = 1L;
}